본문 바로가기

안녕하세요!

프로그래밍 언어

[ Docker ] Docker Desktop 설치 및 Open WebUI 연결 Open WebUI를 실행시키기 위해서 Docker를 사용해 Open WebUI의 오픈소스 AI WebUI 서버를 띄우고 Admin 계정을 생성하여 Open WebUI에 접속할 것이다.Docker Desktop을 설치하고 UI를 웹에서 접속하는 과정까지 정리해보자. 1. Docker Desktop 설치 * 링크 : https://apps.microsoft.com/detail/xp8cbj40xlbwkx?hl=ko-KR&gl=KR Docker Desktop - Windows에서 다운로드 및 설치 | Microsoft StoreDocker Desktop is a one-click-install application for your Mac, Linux, or Windows environment, enabli.. 더보기
[ Python ] Open WebUI 커스터마이징 - file upload(2) 여기서는 로컬에 업로드 된 파일을 Open WebUI의 특정 지식기반 id로 연결하는 작업을 서버에 요청한다. add_to_kb def add_to_kb(file_id: str): return requests.post( f"{WEBUI}/api/v1/knowledge/{KB_ID}/file/add", headers=HDR_JSON, json={"file_id": file_id}, timeout=30, ) POST /api/v1/knowledge/{KB_ID}/file/add - WebUI에 있는 지식기반에 접속하면 url 끝에 id 값이 붙어있음 - {KB_ID} 값은 .env에 설정돼 있으며 해당 값을 호출해 적용 HDR_JSON : .. 더보기
[ Python ] Open WebUI 커스터마이징 - csv 파일(3) rows_to_markdown_temp def rows_to_markdown_temp(rows, base_name, folder): """CSV 업로드가 400이면 Markdown 표로 우회""" md_headers = ["id", "이름", "성별", "나이", "desc"] lines = ["| " + " | ".join(md_headers) + " |", "| " + " | ".join(["---"] * len(md_headers)) + " |"] for r in rows: vals = [str(r.get(k, "")) for k in md_headers] lines.append("| " + " | ".join(vals) + " |.. 더보기
[ Python ] Open WebUI 커스터마이징 - csv 파일(2) write_temp_csv_with_desc이 def에서는 csv 파일 생성 시, uploads 경로에 전처리 파일의 임시파일을 생성하게 되는데이 __prepared__ 파일은 임시로 저장되는 파일이므로다음에 있을 함수에서 처리하는 작업을 생략하게 된다. def write_temp_csv_with_desc(rows, headers, base_name, folder): import csv base_no_ext = os.path.splitext(base_name)[0] or "upload" out_name = f"{base_no_ext}_with_desc.csv" out_path = os.path.join(folder, f"__prepared__{out_name}") # 업로드 폴더에.. 더보기
[ Python ] Open WebUI 커스터마이징 - csv 파일(1) 오랜만에 쓰는 파이썬초보만 블로그드디어 파이썬을 써보게 되었다.최근 여건이 더 좋은 곳으로 이직을 하였는데, 개발 직군이 아니라 프리세일즈쪽으로 왔다.제안서 작성부터 여러 가지 일을 하고 있지만 개발이 필요한 시점에서 Python을 다루는 기회가 닿은 것이다.거두절미하고 열심히 해보자! read_csv_rows def read_csv_rows(src_path: str): import csv for enc in ("utf-8-sig", "utf-8", "cp949"): try: with open(src_path, "r", encoding=enc, newline="") as f: r = csv.DictReader(f) .. 더보기
[ Java ] Windows에서 Docker 사용하기 Docker-desktop은 원래 Docker가 다운되면 저장된 데이터를 날려버린다.하지만 위와 같이 로컬에서  'mysql' 파일을 생성하여여기에 데이터를 저장하면 docker가 다운되더라도 데이터가 날라가지 않게 된다. docker-compose up -d 명령어를 입력하면로컬에 있는 파일로 db를 실행하게 된다.docker-compose up -d 혹시나 permission 에러가 난다면, sudo chmod 666 /var/run/docker.sock명령어를 입력해 준다.sudo chmod 666 /var/run/docker.sock obsolute 에러가 난다면 docker-compose.yaml 파일에 있는 version 정보를 삭제해야 한다.일정 버전 이상부터는 version 정보가 불필요해.. 더보기
[ Concept ] What is the Load Balancing? Load Balancing and Load Balancer 로드 밸런싱 로드밸런싱(Load Balencing)이란 둘 이상의 중앙처리장치 혹은 저장장치와 같은 컴퓨터 자원들에 부하(Load)를 나눠줌으로써 가용성을 제고하고, 응답시간을 최적화하는 것을 말한다. 단순히 다수의 서버를 구축해 운영하는 것에 모든 클라이언트의 요청에 일관성 있는 응답을 기대할 수 없으며, 하나의 서버에 모든 트래픽이 몰리는 상황을 방지하기 위해 로드밸런싱을 하게 되는 것이다. 로드 밸런서 로드 밸런서(Load Balancer)란 서버에 가해지는 Load를 Balancing해주는 장치 혹은 기술이다. 즉, 한대의 서버로 부하가 집중되지 않도록 트래픽을 관리해주는 역할을 하는 것이다. 로드 밸런싱 종류 종류 설명 L2 MAC 주소.. 더보기
[ CSS ] transition 및 scale을 사용해 마우스 hover시, 썸네일 이미지 확대하기 transition 및 scale을 사용해 마우스 hover시, 썸네일 이미지 확대하기 transition 설정 overflow: hidden .thumbnail_post { width: 100%; position: relative; overflow: hidden; } HTML에 지정해둔 클래스명인 thumbnail_post 혹은 본인이 지정한 클래스명을 CSS에 호출한다. 너비는 100%로 설정하였으나, 만약 부모 요소가 있는 클래스인 경우엔 부모 요소의 너비의100%로 동적으로 작용된다. position을 relative로 설정하여 클래스 요소의 위치를 상대적으로 배치한다. overflow를 hidden으로 설정하면, thumbnail_post 부모 요소의 영역을 침범하면 해당 부분을 숨길 수 있다... 더보기

loading